package org.tool.spring.servlet.support;

import java.util.Collection;
import java.util.regex.Pattern;

/**
 * 前端输入数据过滤处理管理器
 *
 * @author 李坤
 * @date 2023/3/16 13:56
 */
public interface InputStringManager {

    /**
     * 是否启用敏感参数过滤功能
     *
     * @return {@code true}-启用，{@code false}-不启用
     */
    boolean enableProcessInputString();

    /**
     * 判断指定路径的数据输入是否需要处理
     *
     * @param uri 当前请求url
     * @param key 当前参数Key
     *
     * @return {@code true}-需要处理，{@code false}-无需处理
     */
    boolean needProcess(String uri, String key);

    /**
     * 获取正则表达式过滤器链
     *
     * @param uri 当前请求url
     * @param key 当前参数Key
     *
     * @return 过滤器链
     */
    Collection<Pattern> getPatterns(String uri, String key);

}
